Mobile endpoints (e.g., smartphones) are generating, downloading, and storing an increasing amount of data. This growth in data consumption is outpacing advances in wireless technologies. Moreover, it is not practical, from a cost or performance perspective, to provide the mobile endpoints with large amounts of on-board storage.
One technique for reducing the local storage requirements of mobile endpoints is to move file downloads off the mobile endpoint and onto a user's home server (e.g., a Samba Server). This technique often requires the user to first setup a server with a network file system (NFS) (e.g., NFS, Microsoft Server Message Block, or Samba) at home. Then, in order to allow the user to remotely access the home server, the user may have to enable remote access to the home server from networks outside of their home. Once configured, the user is then able to save files to the home server over the NFS. In order to save files on the home server, the mobile endpoint downloads a file that it then uploads to the home server over the NFS. While this may reduce the storage requirements of the mobile endpoint, its implementation is inefficient because it requires the data to be moved over both a downlink and uplink in the wireless network. Moreover, the mobile endpoint has to maintain a wireless connection to both download and upload the file. If the connection is dropped during either portion of the download process, the operation fails.
One technique for reducing the load on the wireless network is based on a remote desktop platform. This technique often requires the user to setup and enable the remote desktop function at their home computer. Once enabled the user may remotely operate their computer from their mobile endpoint. While this allows the file to be downloaded using the user's home network connection, trying to manage and interface with a home computer using a mobile endpoint can be unwieldy. For example, the response time of the interactions on the remote desktop is slow because of the substantial amount of messages exchanged between the home computer and the mobile endpoint. As another example, the small screen of a mobile endpoint makes it difficult to operate the higher resolution of the home computer.